/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package YottaTron.Equipment.Weapons;

import YottaTron.AnimatedGraphicsLoader;
import YottaTron.GraphicsLoader;
import YottaTron.ImagesPlayer;
import YottaTron.RotatingGraphicsLoader;

/**
 *
 * @author Cenda
 */
public abstract class Weapon {

    public static final byte MINIGUN = 1;
    public static final byte ROCKET_LAUNCHER = 2;
    public static final byte DOUBLE_RL = 3;

    public byte type;
    public int damage;
    double coolDownTime, currentCoolDown;
    int projectileSpeed;
    public GraphicsLoader projectileGraphics;
    public AnimatedGraphicsLoader projectileHitAnimation;
    public RotatingGraphicsLoader weaponGraphics;
    public int numProjectiles;
    ImagesPlayer shootingAnimation;
    public boolean incendiary;

    public double getCoolDownTime() {
        return coolDownTime;
    }

    public void setCoolDownTime(double coolDownTime) {
        this.coolDownTime = coolDownTime;
    }

    public int getDamage() {
        return damage;
    }

    public void setDamage(int damage) {
        this.damage = damage;
    }

    public int getProjectileSpeed() {
        return projectileSpeed;
    }

    public void setProjectileSpeed(int projectileSpeed) {
        this.projectileSpeed = projectileSpeed;
    }

    public GraphicsLoader getProjectileGraphics() {
        return projectileGraphics;
    }

    public void setProjectileGraphics(GraphicsLoader graphics) {
        this.projectileGraphics = graphics;
    }

    public RotatingGraphicsLoader getWeaponGraphics() {
        return weaponGraphics;
    }

    public void setWeaponGraphics(RotatingGraphicsLoader weaponGraphics) {
        this.weaponGraphics = weaponGraphics;
    }

    public ImagesPlayer getShootingAnimation() {
        return shootingAnimation;
    }

    public void setShootingAnimation(ImagesPlayer shootingAnimation) {
        this.shootingAnimation = shootingAnimation;
    }

    public double getCurrentCoolDown() {
        return currentCoolDown;
    }

    public void setCurrentCoolDown(double currentCoolDown) {
        this.currentCoolDown = currentCoolDown;
    }


}
